package com.blank.task19;

import java.io.File;
import java.util.concurrent.Callable;


public class FolderCopyTest  implements Callable {
    public static Object FoldsCopy(String oldPath, String newPath){

        //创建File类型的对象与oldPath关联
        File f1 = new File(oldPath);
        File f2 = new File(newPath);
        //如果f1目录不存在，则返回
        if(!f1.exists()){
            System.out.println("需要被copy的目录不存在！");
            return null;
        }
        //如果f2目录不存在，则创建一个
        if(!f2.exists()){
            f2.mkdirs();
            System.out.println(f2.getName()+"创建成功");
        }
        File[] fileArr = f1.listFiles();
        for(File file:fileArr){
            if(file.isFile()){
                FileCopyTest.fileCopy(file.getAbsolutePath(), f2.getAbsolutePath() + "/" + file.getName());
                System.out.println(file.getName()+"文件copy成功！");
            }else{
                FoldsCopy(file.getAbsolutePath(),f2.getAbsolutePath()+"/"+file.getName());
                System.out.println(file.getName()+"目录copy成功!");

            }
        }
        return null;
    }


    @Override
    public Object call() throws Exception {
        String str1 = "d:/may";
        String str2 = "d:/may3";
        return FoldsCopy(str1,str2);
    }
}
